foreach(D IN LISTS WarpX_DIMS)
  warpx_set_suffix_dims(SD ${D})
  if(ABLASTR_FFT STREQUAL ON)
    if(WarpX_COMPUTE STREQUAL CUDA)
      target_sources(ablastr_${SD} PRIVATE WrapCuFFT.cpp)
    elseif(WarpX_COMPUTE STREQUAL HIP)
      target_sources(ablastr_${SD} PRIVATE WrapRocFFT.cpp)
    elseif(WarpX_COMPUTE STREQUAL SYCL)
      target_sources(ablastr_${SD} PRIVATE WrapMklFFT.cpp)
    else()
      target_sources(ablastr_${SD} PRIVATE WrapFFTW.cpp)
    endif()
  else()
  target_sources(ablastr_${SD} PRIVATE WrapNoFFT.cpp)
  endif()
endforeach()
